From: George Dunlap Date: Fri, 1 Jul 2011 19:31:18 +0000 (+0100) Subject: xentrace: Allow tracing to be enabled at boot X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~10086 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=0bb1c9cd22855b9986c60ace1959ef029c5e0ce0;p=xen.git xentrace: Allow tracing to be enabled at boot Add a "tevt_mask" parameter to the xen command-line, allowing trace records to be gathered early in boot. They will be placed into the trace buffers, and read when the user runs "xentrace". Signed-off-by: George Dunlap --- diff --git a/xen/common/trace.c b/xen/common/trace.c index 6e5c1d8e4b..c3ffb6d06f 100644 --- a/xen/common/trace.c +++ b/xen/common/trace.c @@ -45,7 +45,9 @@ CHECK_t_buf; /* opt_tbuf_size: trace buffer size (in pages) for each cpu */ static unsigned int opt_tbuf_size; +static unsigned int opt_tevt_mask; integer_param("tbuf_size", opt_tbuf_size); +integer_param("tevt_mask", opt_tevt_mask); /* Pointers to the meta-data objects for all system trace buffers */ static struct t_info *t_info; @@ -338,11 +340,21 @@ void __init init_trace_bufs(void) { register_cpu_notifier(&cpu_nfb); - if ( opt_tbuf_size && alloc_trace_bufs(opt_tbuf_size) ) + if ( opt_tbuf_size ) { - printk(XENLOG_INFO "xentrace: allocation size %d failed, disabling\n", - opt_tbuf_size); - opt_tbuf_size = 0; + if ( alloc_trace_bufs(opt_tbuf_size) ) + { + printk("xentrace: allocation size %d failed, disabling\n", + opt_tbuf_size); + opt_tbuf_size = 0; + } + else if ( opt_tevt_mask ) + { + printk("xentrace: Starting tracing, enabling mask %x\n", + opt_tevt_mask); + tb_event_mask = opt_tevt_mask; + tb_init_done=1; + } } }